//
// Created by shkstart on 2023/8/25.
// 测试算术运算符的使用
/*
 *  + -  + - *  /  %  (前)++  (后)++   (前)--  (后)--
 *
 * */

#include <stdio.h>

int main(){
    int i1 = 10;
    int i2 = 20;
    float f1 = i1 + i2;

    // / :
    int m1 = 12;
    int m2 = 5;
    int m3 = m1 / m2;
    printf("%d\n",m3); //2
    float f2 = m1 / m2;
    printf("%f\n",f2); //2.000000

    double d1 = (m1 + 0.0) / m2;
    printf("%f\n",d1); //2.400000

    int m4 = m1 / m2 * m2;
    printf("%d\n",m4); //10

    //  %: 取模、取余数。
    int x1 = 13;
    int y1 = 5;
    int z1 = x1 % y1;
    printf("z1 = %d\n",z1);//3

    //开发中，常常用来判断一个数是否可以被另一个数整除。比如：判断一个数是否是偶数  num % 2 == 0
    //注意，运算结果的符号与被模数相同。

    /*
     *  (前)++
     *  (后)++
     *
     *  1. ++ 单独运算时，如下，(前)++和(后)++没有区别，都表示自增1.
     *  2. 涉及到其它运算时：
     *      (前)++ ： 先自增1，然后做其它运算
     *      (后)++ ： 先做其它运算，后自增1
     * */
    int n1 = 10;
    //n1++; //后++
    ++n1; //前++
    printf("n1 = %d\n",n1);


    //有区别的场景：
    int n2 = 10;
    int n3 = n2++;
    printf("n2 = %d,n3 = %d\n",n2,n3);

    int n4 = 10;
    int n5 = ++n4;
    printf("n4 = %d,n5 = %d\n",n4,n5);


    /*
     *  (前)--
     *  (后)--
     *
     *  1. -- 单独运算时，如下，(前)--和(后)--没有区别，都表示自减1.
     *  2. 涉及到其它运算时：
     *      (前)-- ： 先自减1，然后做其它运算
     *      (后)-- ： 先做其它运算，后自减1
     * */
    return 0;
}
